﻿using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FurStudy.EntityFramework.Core
{
    /// <summary>
    /// 创建数据库上下文
    /// </summary>
    [AppDbContext("MySQLConnectionString", DbProvider.MySql)]
    public class DefaultDbContext : AppDbContext<DefaultDbContext>
    {
        /// <summary>
        /// 每一个数据库上下文都需继承 AppDbContext<TDbContext, TDbContextLocator> 基类，默认数据库的 TDbContextLocator 为 MasterDbContextLocator，无需显式编写。
        /// 非默认数据库则需显式继承并申明，如：AppDbContext<OtherDbContext, OtherDbContextLocator>
        /// </summary>
        /// <param name="options"></param>
        public DefaultDbContext(DbContextOptions<DefaultDbContext> options) : base(options)
        {
            InsertOrUpdateIgnoreNullValues = true; // 启用忽略空值新增
            EnabledEntityChangedListener = true; // 启用数据监听
        }
    }
}
